/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package nl.hanze.web.gba.dao.impl;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
import nl.hanze.web.gba.dao.NatuurlijkPersoonDAO;
import nl.hanze.web.gba.domain.NatuurlijkPersoon;

/**
 *
 * @author Luuk
 */
public class NatuurlijkPersoonDAOImpl implements NatuurlijkPersoonDAO{
    private Connection conn;
    private Statement s;

    public NatuurlijkPersoon getNatuurlijkPersoonbyBSN(long bsn) throws Exception {
        openConnection();
        ResultSet rs=s.executeQuery("select * from natuurlijkpersoon where `bsn`="+bsn);
        NatuurlijkPersoon natuurlijkPersoon;
        if (rs.next()) {
            natuurlijkPersoon=new NatuurlijkPersoon();
            natuurlijkPersoon.setBsn(bsn);
            natuurlijkPersoon.setGeslacht(rs.getString("geslacht").charAt(0));
            natuurlijkPersoon.setInitialen(rs.getString("initialen"));
            natuurlijkPersoon.setStraatnaam(rs.getString("straatnaam"));
            natuurlijkPersoon.setAchternaam(rs.getString("achternaam"));
            natuurlijkPersoon.setNummer(rs.getInt("nummer"));
            natuurlijkPersoon.setPostcode(rs.getString("postcode"));
            natuurlijkPersoon.setWoonplaats(rs.getString("woonplaats"));            
        }else{
            natuurlijkPersoon=new NatuurlijkPersoon();
            natuurlijkPersoon.setBsn(-1);
        }
        closeConnection();
        return natuurlijkPersoon;
    }
    
    private void openConnection() throws Exception {
        Class.forName("com.mysql.jdbc.Driver");
        conn=DriverManager.getConnection("jdbc:mysql://localhost/persoon", "root", "");
        s=conn.createStatement();
    }

    private void closeConnection() throws Exception {
        s.close();
        conn.close();
    }
}
